
local tp =tp
local 角色动画类 = class()
local zdjy = 取锦衣模型()
local zdjyjy = 取锦衣身体模型()
local qmxs = 引擎.取战斗模型
local zdlx={[1]="攻击",[2]="攻击",[3]="倒地",[4]="防御",[5]="返回",[6]="待战",[7]="施法",[8]="跑去",[9]="被击中"}
function 角色动画类:创建动画(造型,类型,染色,武器,变身,变异,饰品,锦衣)

 if 锦衣 ~= nil then
  锦衣 = 锦衣.锦衣
 end

 self.按帧更新=false
  if 类型 == "角色" and 变身 == nil  then
	  if 武器.名称=="" or 武器.名称==nil  then
	        self.武器=nil
	     local lsmx= qmxs(造型)

	        if 锦衣 ~= nil and (锦衣 == "华风汉雅" or 锦衣 == "夏日清凉" or 锦衣 == "萌萌小厨" or 锦衣 == "夜影") then

                local 临时资源
                local 临时资源包 = "shape2.npk"
                if  锦衣 == "夏日清凉" or 锦衣 == "夜影" then
                    临时资源包 = "shape0.npk"
                end
                for i=1,9 do
                  if i ~= 5 then
                    临时资源  = 造型.."_"..zdlx[i].."_"..锦衣
                    临时资源  = 取锦衣模型(临时资源)
                    self[zdlx[i]]=tp.资源:载入(临时资源包,"网易锦衣动画",临时资源)
                  end
                end

                if 锦衣 == "华风汉雅" or 锦衣 == "夏日清凉" or 锦衣 == "萌萌小厨" then
                  for i=1,9 do
                    if i ~= 5 then
                      临时资源 = 造型.."_"..zdlx[i].."_"..锦衣.."_头"
                      临时资源=取锦衣身体模型(临时资源)
                      self[zdlx[i]].身体 =引擎.场景.资源:载入("shape0.npk","网易锦衣动画",临时资源)
                    end
                  end
                end

          elseif 染色~=nil then
	          for i=1,9 do
	          	if i~=5 then
	          		self[zdlx[i]]=tp.资源:载入(lsmx[10],"网易WDF动画",lsmx[i],造型,染色)
	          	end
	          end
	        else
	           for i=1,9 do
	          	if i~=5 then
	          		self[zdlx[i]]=tp.资源:载入(lsmx[10],"网易WDF动画",lsmx[i])
	          	end
	          end
	        end
	  else
	      local v = 武器.类别
	        if 武器.名称 == "龙鸣寒水" or 武器.名称 == "非攻" then
	          v = "弓弩1"
	        end
	        local lsmx= qmxs(造型,v)
          if 锦衣 ~= nil and (锦衣 == "华风汉雅" or 锦衣 == "夏日清凉" or 锦衣 == "萌萌小厨" or 锦衣 == "夜影") then

                local 临时资源
                local 临时资源包 = "shape2.npk"
                if  锦衣 == "夏日清凉" or 锦衣 == "夜影" then
                    临时资源包 = "shape0.npk"
                end
                for i=1,9 do
                  if i ~= 5 then
                    临时资源  = 造型..v.."_"..zdlx[i].."_"..锦衣
                    临时资源  = 取锦衣模型(临时资源)
                    self[zdlx[i]]=tp.资源:载入(临时资源包,"网易锦衣动画",临时资源)
                  end
                end

                if 锦衣 == "华风汉雅" or 锦衣 == "夏日清凉" or 锦衣 == "萌萌小厨" then
                  for i=1,9 do
                    if i ~= 5 then
                      临时资源 = 造型..v.."_"..zdlx[i].."_"..锦衣.."_头"
                      临时资源=取锦衣身体模型(临时资源)
                      self[zdlx[i]].身体 =引擎.场景.资源:载入("shape0.npk","网易锦衣动画",临时资源)
                    end
                  end
                end

	        elseif 染色~=nil then
	         for i=1,9 do
	          	if i~=5 then
	          		self[zdlx[i]]=tp.资源:载入(lsmx[10],"网易WDF动画",lsmx[i],造型,染色)
	          	end
	          end
	        else
	          for i=1,9 do
	          	if i~=5 then
	          		self[zdlx[i]]=tp.资源:载入(lsmx[10],"网易WDF动画",lsmx[i])
	          	end
	          end
	        end
	        self:创建武器(武器.名称,武器.类型,武器.级别,造型)
	  end
  else
      if 变身 then
          造型 =变身
      end
  	  local lsmx = 引擎.取战斗模型(造型)
        if 变异 then
          for i=1,9 do
          	if i~=5 then
          		self[zdlx[i]]=tp.资源:载入(lsmx[10],"网易WDF动画",lsmx[i],造型,染色,true)
          	end
          end
        else
           for i=1,9 do
          	if i~=5 then
          		self[zdlx[i]]=tp.资源:载入(lsmx[10],"网易WDF动画",lsmx[i])
          	end
          end
        end
        if 饰品 then
              if 取召唤兽饰品(造型) then
              self.饰品={}
              local wq1 = 引擎.取战斗模型("饰品_"..造型)
              for i=1,9 do
              if i~=5 then
              self.饰品[zdlx[i]]=tp.资源:载入(wq1[10],"网易WDF动画",wq1[i])
              end
              end
            end
        elseif 取召唤兽武器(造型) then
              self.武器={}
              local wq1 = 引擎.取战斗模型("武器_"..造型)
              for i=1,9 do
              if i~=5 then
              self.武器[zdlx[i]]=tp.资源:载入(wq1[10],"网易WDF动画",wq1[i])
              end
              end
        end
    end
 end
function 角色动画类:取包围盒(类型)
  return self[类型].精灵:取包围盒()
 end
function 角色动画类:取当前帧(类型)
  return self[类型].当前帧
 end
function 角色动画类:取结束帧(类型)
  return self[类型].结束帧
 end
 function 角色动画类:取开始帧(类型)
  return self[类型].开始帧
 end
function 角色动画类:置颜色(类型,颜色)
  return self[类型].精灵:置颜色(颜色)
 end
function 角色动画类:创建武器(名称,类别,等级,造型)
  self.武器=nil
  if 名称~="" then
    self.武器={}
    local m = tp:qfjmc(类别,等级,名称)
    local n = qmxs(m.."_"..造型)
    if not n then  self.武器 = nil return end
    for i=1,9 do
      if i~=5 then
        if not n[i] then self.武器 = nil return end
      	 self.武器[zdlx[i]]= tp.资源:载入(n[10],"网易WDF动画",n[i])
    	end
    end
  end
end
function 角色动画类:置帧率(类型,帧率)
  self[类型]:置提速(1+帧率)
  if self[类型].身体 ~= nil then
    self[类型].身体:置提速(1+帧率)
  end
  if self.武器~=nil then
   self.武器[类型]:置提速(1+帧率)
   end
 end
function 角色动画类:更新(dt,类型)
  if self[类型]==nil then return 0 end
  if self.按帧更新==false then
   self[类型]:更新(dt)
    if self[类型].身体 ~= nil then
    self[类型].身体:更新(dt)
    end
   if self.武器~=nil then
     self.武器[类型]:更新(dt)
     if self.武器[类型].帧率~=self[类型].帧率 then
     	self.武器[类型].帧率=self[类型].帧率
     end
   end
      if self.饰品~=nil then
     self.饰品[类型]:更新(dt)
     if self.饰品[类型].帧率~=self[类型].帧率 then
     	self.饰品[类型].帧率=self[类型].帧率
     end
   end
  end
 end
function 角色动画类:显示(类型,x,y)
 if self[类型]==nil then
  return 0
   end
  if self[类型].身体 ~= nil and self[类型].身体.允许显示 == nil then
    self[类型].身体:显示(x,y)
  end

 self[类型]:显示(x,y)
 if self.武器~=nil then
  self.武器[类型]:显示(x,y)
   end
    if self.饰品~=nil then
  self.饰品[类型]:显示(x,y)
   end
 end
function 角色动画类:换方向(类型,方向)
 self[类型]:置方向(方向)
 self[类型]:换帧更新()
   if self[类型].身体 ~= nil then
    self[类型].身体:置方向(方向)
    self[类型].身体:换帧更新()
  end
  if  self.武器~=nil then
    self.武器[类型]:置方向(方向)
    self.武器[类型]:换帧更新()
   end
   if  self.饰品~=nil then
    self.饰品[类型]:置方向(方向)
    self.饰品[类型]:换帧更新()
   end
 end
return 角色动画类
